package com.example.service;


import com.example.model.dto.TableDTO;
import com.example.model.qo.PageResult;


import java.util.List;
import java.util.Map;

/**
 * @Author ChenYuCong
 * @Date 2022/9/26
 * @Description
 * @since 1.0
 */

public interface ITableService {
    void updateBySql(String sql);

    Long insertBySql(TableDTO tableDTO);


    void updateBySql(String sql, Object[] params);

    void insertBySql(String sql, Object[] params);

    Long insertBySql(TableDTO tableDTO, Object[] params);

    List<Map<String, Object>> selectBySql(String sql, Object[] params);

    Map<String, Object> selectBySqlFirst(String sql, Object[] params);

    /**
     * 通过SQL分页查询数据
     *
     * @param sql    sql
     * @param params params
     * @param pageNum 分页起始页
     * @param pageSize  分页数
     * @return PageResult
     */
    PageResult<Map<String, Object>> selectPageBySql(String sql, Object[] params, int pageNum, int pageSize);


    /**
     * 通过SQL查数据条数
     *
     * @param sql    sql
     * @param params params
     * @return int
     */
    int selectCountBySql(String sql, Object[] params);
    /**
     * 通过SQL查数据条数
     *
     * @param sql    sql
     * @param
     * @return int
     */
    int selectCountBySql(String sql);


}
